Ext.onReady(function() {
	Ext.QuickTips.init();
	Ext.form.Field.prototype.msgTarget='under';
	  Ext.apply(Ext.form.VTypes,{
	              password:function(val,field)
	                 {               
	            if(field.confirmTo)
	                  {              
            var pwd=Ext.get(field.confirmTo);
              return (val==pwd.getValue());
	                  }
	　　              return true;
	                 }
	　　});

	var admin = new Ext.data.Record.create( [ {
		name : 'admin_id',
		type : 'int'
	}, {
		name : 'admin_name',
		type : 'string'
	}, {
		name : 'admin_password',
		type : 'string'
	}, {
		name : 'admin_sysFlag',
		type : 'int'
	}, ])

			var adminStore;
			function getData(val){
				var	url = "/schedule/queryAdmin?flag="+encodeURI(encodeURI(val));
				adminStore= new Ext.data.Store({
						id:"store_id",
						proxy:new Ext.data.HttpProxy({url:url}),
						reader:new Ext.data.JsonReader({
						totalProperty:'totalProperty',
						root:'root'
					},admin),
					remoteSort:true
					});
					if(val != undefined){
						grid.reconfigure(adminStore, cols);
					}
					adminStore.load({params:{start:0,limit:15}});
			};
			getData();

			var sm = new Ext.grid.CheckboxSelectionModel();
			var cols = new Ext.grid.ColumnModel( [ new Ext.grid.RowNumberer(),
					sm, {
						header : '用户姓名',
						dataIndex : 'admin_name'
					}

			]);
			cols.defaultSortable = true;

			var openwin = function() {
				var systemform = new Ext.form.FormPanel(
						{
							region : 'center',
							frame : true,
							layout : "form", // 整个大的表单是form布局
							labelWidth : 65,
							labelAlign : "right",
							maximizable : true,
							items : [ { // 行1
										layout : "column", // 从左往右的布局
										items : [ {
											columnWidth : .8,
											layout : "form",
											items : [ {
												xtype : "textfield",
												name : "admin.admin_name",
												allowBlank : false,
												validateOnBlur : true,
								                blankText : "不能为空，请填写",
								                regex: /^\w+$/,
								                regexText:"用户名只能由字母和数字组成！",
								                minLength : 4,
								                minLengthText : "长度不能小于6个字符",
								                maxLength : 15,             
								                maxLengthText : "长度超过了15个字符",
								                fieldLabel : '用户名',
								                width:120
											} ]
										}]
									},{ // 行1
										layout : "column", // 从左往右的布局
										items : [ {
											columnWidth : .8,
											layout : "form",
											items : [ {
												columnWidth : .8,
												layout : "form",
												items : [ {
													name : "admin.admin_password",
													id:"pass1",
									                xtype : 'textfield',
									                inputType : 'password',
									                fieldLabel : '密码',
									                allowBlank : false,
												validateOnBlur : true,
									                blankText : "不能为空，请填写",
									                width:120
												} ]
											} ]
										}]
									} ,{ // 行1
										layout : "column", // 从左往右的布局
										items : [ {
											columnWidth : .8,
											layout : "form",
											items : [ {
								                name : 'password2',
								                id:"pass2",
								                xtype : 'textfield',
								                inputType : 'password',
								                fieldLabel : '确认密码',
								               allowBlank : false,
												validateOnBlur : true,
								                 blankText : "不能为空，请填写",
								                vtype:"password",//自定义的验证类型
								                vtypeText:"两次密码不一致！",
								　　            		confirmTo:"pass1",//要比较的另外一个的组件的id
								                width:120
								                } ]
										}]
									},{// 行2
										buttonAlign : "right",
										buttons : [
												{
													text : "保存",
													handler : function() {
														if (systemform.form
																.isValid()) {
															systemform.form
																	.submit( {
																		waitTitle : '请稍候',
																		waitMsg : '正在保存......',
																		url : '/schedule/addAdmin',
																		success : function(
																				form,
																				action) {
																			Ext.Msg
																					.alert(
																							"系统消息",
																							action.result.msg,
																							function() {
																								win
																										.close();
																								grid
																										.resumeEvents();
																								adminStore
																										.reload();
																							},
																							this);
																		},
																		failure : function(
																				form,
																				action) {
																			Ext.Msg
																					.alert(
																							'系统消息',
																							action.result.msg);
																			grid
																					.resumeEvents();
																			win
																					.close();
																		}
																	})
														}

													}
												}, {
													text : "重置",
													listeners : {
														click : function() {
															systemform.form.reset()
														}
													}
												} ]
									} ]

						});
				
				var win = new Ext.Window( {
					layout : 'fit',
					title : '用户信息',
					width : 280,
					height : 200,
					resizable : true,
					closeAction : 'close',
					plain : true,
					items : systemform,
					listeners : {
						close : function(w) {
							// 关键部分：关闭窗口前先还原,滚动条才不会消失
						w.restore();
					},
					maximize : function(w) {
						
					}
					}
				}).show();
			};
			
			var grid = new Ext.grid.GridPanel(
					{
						title : '用户信息列表',
						region : 'center',
						buttonAlign : "left",
						buttons : [
								{
									text : "新增",
									tabIndex :3,
									listeners : {
										click : function() {
											openwin();
										}
									}
								},
								{
									text : "删除",
									tabIndex :4,
									listeners : {
										click : function() {
									var ids = "";
				        	 		var records = grid.getSelectionModel().getSelections();
									if(""==records){
						 	 			Ext.MessageBox.alert("提示","请选择要删除的记录");  
						 	 			}else{
						 	 		for(var i=0;i<records.length;i++){
						 	 		
						 				ids +=records[i].get("admin_id")+",";
						 				
						 			};
						 				Ext.MessageBox
						 						.confirm(
						 								"确认删除",
						 								"确认删除所选数据？",
						 								function(button) {
						 									if (button == "yes") {
						 										Ext.Ajax
						 												.request( {
						 													url : '/schedule/deleteAdmin',
						 													params: { ids: ids },
						 													method : 'POST',
																				success : function(
																						form,
																						action) {
																					Ext.Msg
																							.alert(
																									"系统消息",
																									"删除成功",
																									function() {
																										grid
																												.resumeEvents();
																										adminStore
																												.reload();
																									},
																									this);
																				},
																				failure : function(
																						form,
																						action) {
																					Ext.Msg
																							.alert(
																									'系统消息',
																									"删除失败");
																					grid
																							.resumeEvents();
																					adminStore
																							.reload();
																				},

																				scope : this
																			});
																}
															}, this);
										}
									} }
								}],
						loadMask : true,
						store : adminStore,
						cm : cols,
						sm : sm,
						viewConfig : {
							forceFit : true
						},
						bbar : new Ext.PagingToolbar( {
							store : adminStore,
							pageSize: 15,//页大小 
							displayInfo: true,//是否显示displayMsg 
							displayMsg: "本页显示第{0}条到第{1}条的记录,一共{2}条", 
							emptyMsg: "没有记录"//如果没有记录，则显示该文本 
						})
					});

			var form = new Ext.form.FormPanel({
				region:"north",
				width : 650,
				height :80,
				id:"form",
				hideBorders:true,
				layout : "form", // 整个大的表单是form布局
				labelWidth : 80,
				labelAlign : "right",
				items : [{ // 行1
					layout : "column", // 从左往右的布局
					hideBorders:true,
					items : [{
						columnWidth : .5,
						layout : "form",
						items : [{
							xtype : "textfield",
							name : "flag0",
							fieldLabel : "用户姓名",
							tabIndex :0,
							width : 80
						}]
					}]
				}
			],
			tbar:[new Ext.Toolbar.TextItem('查询'),
				{xtype:"tbfill"},
				{pressed:true,text:'查询',
					tabIndex :1,
					listeners:{
					click:function(){
						Ext.StoreMgr.remove('store_id');
						var flag0 = Ext.getCmp("form").getForm().findField('flag0').getValue();
						if(flag0==""){
							flag0="-";
						};
						var flag = ""+flag0;
						getData(flag);//提交方法
	               }  
	               }   
			},
			{xtype:"tbseparator"},
			{pressed:true,
				text:'置空',
				tabIndex :2,
				listeners :{
				click : function(){form.form.reset();}
			}}
			]
		});

		var viewport = new Ext.Viewport({
			layout:'border',
			title:'列表',
			items:[
				form,
				grid,
				{region:'south',contentEl:'foot'}
			]
		});
	}); 